# 第一阶段：构建应用
FROM openjdk:17-jdk-slim AS builder

# 设置工作目录
WORKDIR /app

# 拷贝项目代码到工作目录
COPY . .

# 检查 `.mvn/settings.xml` 是否存在，如果不存在则创建并配置仓库镜像
COPY .mvn/settings.xml .mvn/settings.xml 2>/dev/null || true
RUN if [ ! -f ./.mvn/settings.xml ]; then \
    mkdir -p .mvn && \
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<mirrors>\n    <mirror>\n        <id>aliyun</id>\n        <url>https://maven.aliyun.com/repository/public</url>\n        <mirrorOf>*</mirrorOf>\n    </mirror>\n</mirrors>" > .mvn/settings.xml; \
fi

# 使用 Maven 编译项目
RUN mvn clean package -DskipTests

# 第二阶段：运行应用
FROM openjdk:17-jre-slim
WORKDIR /app
COPY --from=builder /app/target/*.jar ./app.jar
COPY ./conf ./conf
EXPOSE 8080
CMD ["java", "-jar", "app.jar"]